<?php
/**
 * SGoodsSpecController.php
 * Created by PhpStorm.
 * User: 江小波
 * Date: 2019/06/26
 * Time: 22:34
 */
namespace app\common\auto_curd\php_system\controller;

use app\common\auto_curd\php_system\model\SGoodsSpecModel;
use think\Controller;

abstract class SGoodsSpecController extends Controller
{
    /**
     * 创建操作
     * @return \think\response\View|void
     */
    public function create()
    {
        if($this->request->isPost()){
            $params = $this->request->post();
            $addData = [];

            // 自增id
            if(isset($params['id']) && $params['id']!="")
            {
                $addData['id'] = $params['id'];
            }

            // 是否上架（下架后用户不可见, 0否, 1是）
            if(isset($params['is_shelves']) && $params['is_shelves']!="")
            {
                $addData['is_shelves'] = $params['is_shelves'];
            }

            // 添加时间
            if(isset($params['create_ts']) && $params['create_ts']!="")
            {
                $addData['create_ts'] = $params['create_ts'];
            }

            // 更新时间
            if(isset($params['update_ts']) && $params['update_ts']!="")
            {
                $addData['update_ts'] = $params['update_ts'];
            }

            // 商品id
            if(isset($params['goods_id']) && $params['goods_id']!="")
            {
                $addData['goods_id'] = $params['goods_id'];
            }

            // 库存
            if(isset($params['inventory']) && $params['inventory']!="")
            {
                $addData['inventory'] = $params['inventory'];
            }

            // 销售价格
            if(isset($params['price']) && $params['price']!="")
            {
                $addData['price'] = $params['price'];
            }

            // 重量（kg） 
            if(isset($params['weight']) && $params['weight']!="")
            {
                $addData['weight'] = $params['weight'];
            }

            // 原价
            if(isset($params['original_price']) && $params['original_price']!="")
            {
                $addData['original_price'] = $params['original_price'];
            }

            // 编码
            if(isset($params['coding']) && $params['coding']!="")
            {
                $addData['coding'] = $params['coding'];
            }

            // 条形码
            if(isset($params['barcode']) && $params['barcode']!="")
            {
                $addData['barcode'] = $params['barcode'];
            }

            // 规格图片
            if(isset($params['images']) && $params['images']!="")
            {
                $addData['images'] = $params['images'];
            }

            // 规格值（json字符串存储）
            if(isset($params['value']) && $params['value']!="")
            {
                $addData['value'] = $params['value'];
            }

            $status = SGoodsSpecModel::save(null,$addData);
            if(!$status)
            {
                return $this->error('添加失败');
            }
            else
            {
                return $this->success('添加成功',url('update')."?id=".$status);
            }
        }else{
            return view('common/auto_curd/php_system@s_goods_spec/create');
        }
    }
    
    /**
     * 更新操作
     */
    public function update()
    {
        if($this->request->isPost()){
            $params = $this->request->post();
            $saveData = [];

            // 自增id
            if(isset($params['id']) && $params['id']!="")
            {
                $saveData['id'] = $params['id'];
            }

            // 是否上架（下架后用户不可见, 0否, 1是）
            if(isset($params['is_shelves']) && $params['is_shelves']!="")
            {
                $saveData['is_shelves'] = $params['is_shelves'];
            }

            // 添加时间
            if(isset($params['create_ts']) && $params['create_ts']!="")
            {
                $saveData['create_ts'] = $params['create_ts'];
            }

            // 更新时间
            if(isset($params['update_ts']) && $params['update_ts']!="")
            {
                $saveData['update_ts'] = $params['update_ts'];
            }

            // 商品id
            if(isset($params['goods_id']) && $params['goods_id']!="")
            {
                $saveData['goods_id'] = $params['goods_id'];
            }

            // 库存
            if(isset($params['inventory']) && $params['inventory']!="")
            {
                $saveData['inventory'] = $params['inventory'];
            }

            // 销售价格
            if(isset($params['price']) && $params['price']!="")
            {
                $saveData['price'] = $params['price'];
            }

            // 重量（kg） 
            if(isset($params['weight']) && $params['weight']!="")
            {
                $saveData['weight'] = $params['weight'];
            }

            // 原价
            if(isset($params['original_price']) && $params['original_price']!="")
            {
                $saveData['original_price'] = $params['original_price'];
            }

            // 编码
            if(isset($params['coding']) && $params['coding']!="")
            {
                $saveData['coding'] = $params['coding'];
            }

            // 条形码
            if(isset($params['barcode']) && $params['barcode']!="")
            {
                $saveData['barcode'] = $params['barcode'];
            }

            // 规格图片
            if(isset($params['images']) && $params['images']!="")
            {
                $saveData['images'] = $params['images'];
            }

            // 规格值（json字符串存储）
            if(isset($params['value']) && $params['value']!="")
            {
                $saveData['value'] = $params['value'];
            }

            $status = SGoodsSpecModel::save($saveData['id'],$saveData);
            if(!$status)
            {
                return $this->error('更新失败');
            }
            else
            {
                return $this->success('更新成功');
            }
        }else{
            $row = SGoodsSpecModel::get(['id'=>$this->request->get('id')]);
            return view('common/auto_curd/php_system@s_goods_spec/update',[
                'row' => $row
            ]);
        }
    }
    /**
     * 获取操作
     */
    public function read()
    {

        $list = SGoodsSpecModel::paginate([]);
        $pagination = $list->render();
        return view('common/auto_curd/php_system@s_goods_spec/read',[
            'list' => $list,
            'pagination' => $pagination
        ]);

    }
    /**
     * 删除操作
     */
    public function delete()
    {

        $status = SGoodsSpecModel::delete($this->request->param('id'));
        if(!$status)
        {
            return $this->error('删除失败');
        }
        else
        {
            return $this->success('删除成功');
        }

    }
    
}